package com.ruicar.afs.cloud.basic.proceeds.debit.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import com.ruicar.afs.cloud.common.modules.contract.enums.DebitStatusEnum;
import com.ruicar.afs.cloud.common.modules.contract.enums.FeeTypeEnum;
import io.swagger.annotations.ApiModelProperty;
import com.ruicar.afs.cloud.common.core.entity.BaseEntity;
import lombok.experimental.Accessors;
import lombok.Data;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
import java.math.BigDecimal;

/**
 * @author: Lee
 * @date 2020-05-29 09:31:34 
 * @description 扣款历史记录表
 */
@Data
@Accessors(chain = true)
@TableName(value ="basic_debit_history", autoResultMap = true)
public class BasicDebitHistory extends BaseEntity<BasicDebitHistory> {

	/** 扣款批次号码 */
	@ApiModelProperty("扣款批次号码")
	private Long batchId;
	/** 待扣明细id */
	@ApiModelProperty("待扣明细id")
	private Long recordId;
	/** 合同编号 */
	@ApiModelProperty("合同编号")
	private String contractNo;
	/** 费用类型 枚举值：本金，利息，罚息，提前结清款，催收费用，客户信息变更费用 */
	@ApiModelProperty("费用类型 枚举值：本金，利息，罚息，提前结清款，催收费用，客户信息变更费用")
	private FeeTypeEnum feeType;
	/** 扣款发送时间 */
	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
	@DateTimeFormat(pattern = "yyyy-MM-dd")
	@ApiModelProperty("扣款发送时间")
	private Date sendTime;
	/** 扣款结果反馈时间 */
	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
	@DateTimeFormat(pattern = "yyyy-MM-dd")
	@ApiModelProperty("扣款结果反馈时间")
	private Date backTime;
	/** 待扣款金额 不可为负数 */
	@ApiModelProperty("待扣款金额 不可为负数")
	private BigDecimal readyAmt;
	/** 扣款金额 不可为负数 */
	@ApiModelProperty("扣款金额 不可为负数")
	private BigDecimal debitAmt;
	/** 期数 本金、利息、罚息时写入 */
	@ApiModelProperty("期数 本金、利息、罚息时写入")
	private Integer termNo;
	/** 应收日期 */
	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
	@DateTimeFormat(pattern = "yyyy-MM-dd")
	@ApiModelProperty("应收日期")
	private Date planDate;
	/** 扣款结果 枚举值：1-扣款成功，2-扣款失败 */
	@ApiModelProperty("扣款结果 枚举值：1-扣款成功，2-扣款失败")
	private DebitStatusEnum debitResult;

}
